The present invention relates to PC-cards and in particular those used for obtaining goods or services. The standard example is that of the prepaid telephone card making it possible to make telephone calls from public call boxes without having to use coins or tokens.
To facilitate the description of the present invention reference will solely be made to telephone cards, bat the invention is also usable in much wider applications of very varying types such as bank cards and the like.
A problem which is ever more frequently encountered is the compatibility between the PC-cards issued by a first service provider and those issued by another service provider, even when the services supplied are very similar.
The case of the telephone card is a perfect example of this problem. A card issued by the telecommunications bodies of one country are physically very similar, i.e. with the same standard dimensions, to those issued by another country. The position of the electrical contacts on the card and the number of such contacts are also fixed by the same international standard. This means that a card issued in one country can be physically inserted into a reader corresponding to the system of another country. However, it will still not operate, because the communication protocols between the card and the reader do not correspond, so that the reader emits signals in accordance with a protocol which the card does not understand.
The term "protocol" is intended to cover beth the time organization of electrical signals passing between the card and the reader and their spatial organization, i.e. their presence on a particular physical contact of the card or reader.
In numerous cases, it would e.g. be preferable for a French card holder to be able to use his card in Germany should the need arise, despite the protocol difference between the readers of the two countries.
To provide a more complete illustration of this problem, reference can be made to the standards which define the protocols for different systems using conventional PC-cards with eight contacts and a synchronous and sequential communication mode. In France the standard used is called TS1001, in Germany SLE4403, whilst other countries use standard TS1001 or SLE4403 or TS1301. These are standards corresponding to synchronous operations of the card, i.e. controlled by a clock based on the card reader. The operations to be carried out are extremely simple: reinitialization; reading a data item at the current address; incrementation by one address position; programming or erasing at the current address, etc.
If the eight contacts of the card are called VCC, VSS, VPP, CLK, I/O, RST, FUSE and PROG, it can be seen that the first five symbols are the same for all these standards and respectively correspond to:
VCC: positive supply voltage 5 V PA0 VSS: earth/ground PA0 VPP: programming voltage (approx. 15 V) PA0 CLK: clock PA0 I/O: data input/output. PA0 several conversion circuits, each of which is able to convert into instructions performable by the card the electrical signals received from the reader according to a given protocol, each of the different conversion circuits corresponding to a different communication protocol, PA0 and a protocol selection circuit, incorporating an auxiliary conversion circuit, the latter being able to produce specific instructions performable by the card, said specific instructions being used for the selection of one of the conversion circuits and being produced from electrical signals which can be produced in all the protocols.
However, the three other contacts have different meanings according to the different standards.
In standard TS1001, the FUSE contact is a general activation contact. If it is at zero, a resetting operation is performed and it must be at 1 for the operations of reading, address incrementing or programing in the card. The contact RST defines whether it is an incrementation operation (RST=0) or programming operation (RST=1) on the rising front of the clock CLK. Reading takes place in all cases on the falling front of the clock CLK.
In standard TS1301, it is the signal RST which defines the activation (RST=1) or the reinitialization (RST=0), the contact PROG defining whether or not there is programming. Reading takes place on the falling front of the clock CLK and address incrementation on the rising front of the clock CLK.
Finally, in standard SLE4403, the contact RST fulfills a double function, namely reinitialization if it lasts sufficiently long and programming on the rising front of the clock CLK if there has previously been a short positive pulse on RST and address incrementation in the absence of such a short prior pulse on RST. In all cases reading takes place on the falling front of the clock CLK.
This makes it clear that it is impossible to make a card operate in a reader, which applies to it signals which are different from what it can understand.
It could be imagined that the reader would be able to communicate with several types of cards and its operation is adapted to the card which is inserted. However, in practice, the physical processing of the signals produced by the reader and intended for the card takes place in a fixed manner, either in hardware (i.e. cables logic) or in firmware, i.e. under the control of a ROM. It would therefore be necessary to change or modify the readers and not merely their operating software if the readers would have to be made adaptable to several card types. Moreover, even if the card reader has several different protocol circuits, the user would have to indicate which type of card he was going to insert.